Uncompressed Video in digital format requires large amount of storage space and data transfer bandwidth. Since a large requirement for storage space and data transfer bandwidth translates into an increase in video transmission and distribution costs, compression techniques have been developed to compress the video in a manner to minimize its size while maximizing its quality. Numerous intra- and inter-frame compression algorithms have been developed that compress multiple frames, that include frequency domain transformation of blocks within frames, motion vector prediction which reduces the temporal redundancy between the frames, entropy coding etc.
Interframe compression entails synthesizing subsequent images from a reference frame by the use of motion compensation. Motion compensation entails application of motion vector estimation algorithms, for example, block matching algorithm to identify temporal redundancy and differences in successive frames of a digital video sequence and storing the differences between successive frames along with an entire image of a reference frame, typically in a moderately compressed format. The differences between successive frames are obtained by comparing the successive frames with the reference frame which are then stored. Periodically, such as when a new video sequence is displayed, a new reference frame is extracted from the sequence, and subsequent comparisons are performed with this new reference frame. The interframe compression ratio may be kept constant while varying the video quality. Alternatively, interframe compression ratios may be content-dependent, i.e., if the video clip being compressed includes many abrupt scene transitions from one image to another, the compression is less efficient. Examples of video compression which use an interframe compression technique are Moving Picture Experts Group (MPEG), Data Converter Interface (DVI) and Indeo, among others.
Several of these interframe compression techniques, viz., MPEG, use block based video encoding that in turn utilizes Discrete Cosine Transform (DCT) based encoding. The DCT coefficients generated are scanned in zig-zag order and are entropy encoded using various schemes. In addition to encoding of spatial information of the successive frames, the temporal information of the successive frames in terms of motion vectors is also encoded using entropy based schemes. There are cases where the encoded stream is captured from a storage media device or through a transmission medium. Due to errors in capturing (such as reading from digital or analog tapes) or transmission medium (over wireless or lossy networks), bit-errors may be introduced that may lead to errors in decoding of captured or received encoded stream. This in turn leads to erroneous decoding of the DCT coefficients or the motion vectors. The error in a DC coefficient of a DCT block leads to formation of plain blocks (in constant background) which appear quite different from adjoining areas. However, if DCT AC coefficients are decoded incorrectly, the high frequency noise within blocks would appear. Further, with regards to temporal information, an incorrect decoding in motion vectors leads to incorrect motion compensation and hence misplaced blocks in the successive frames. Since, there is a drop of information, the above mentioned errors are termed as video dropouts. Several algorithms have been designed to detect the occurrence of the dropout error blocks but either they are inaccurate or they are extremely computation intensive.
In light of the above, there is a need for an invention that may enable detection of the video dropout that is accurate and is not computation intensive.